#include <stdio.h>

int main()
{
	int max,min;
	int m,n;
	int gongyue,gongbei;
	scanf("%d %d",&m,&n);
	
	if(m>n)
	{
		max=m;
		min=n;
	}
	else
	{
		max=n;
		min=m;
	}
	
	//寻找最大公约数
	//受限于培训进度，此方法并不是最优方法
	int i;
	for(i=min;i;i--)
	{
		if(max%i==0&&min%i==0)
		{
			gongyue=i;
			break;
		}
	 } 
	 
	//寻找最小公倍数
	//受限于培训进度，此方法并不是最优方法
	for(i=max;i<=min*max;i++)
	{
		if(i%max==0&&i%min==0)
		{
			gongbei=i;
			break;
		}
	 } 	 
	 
	printf("%d %d",gongyue,gongbei);
	return 0;
}